/*** Eclipse Class Decompiler plugin, copyright (c) 2012 Chao Chen (cnfree2000@hotmail.com) ***/
package com.qihoo.c.a.a.a;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class d extends a {
    private final File a;
    private final String b;
    private final String c;

    public d(File paramFile, String paramString1, String paramString2, String paramString3) {
        super(paramString2);
        if (paramFile == null)
            throw new IllegalArgumentException("File may not be null");
        this.a = paramFile;
        if (paramString1 != null)
            this.b = paramString1;
        else
            this.b = paramFile.getName();
        this.c = paramString3;
    }

    public d(File paramFile, String paramString1, String paramString2) {
        this(paramFile, null, paramString1, paramString2);
    }

    public d(File paramFile, String paramString) {
        this(paramFile, paramString, null);
    }

    public void a(OutputStream paramOutputStream) {
        if (paramOutputStream == null)
            throw new IllegalArgumentException("Output stream may not be null");
        FileInputStream localFileInputStream = new FileInputStream(this.a);
        try {
            byte[] arrayOfByte = new byte[4096];
            while ((i = localFileInputStream.read(arrayOfByte)) != -1) {
                int i;
                paramOutputStream.write(arrayOfByte, 0, i);
            }
            paramOutputStream.flush();
        } finally {
            localFileInputStream.close();
        }
    }

    public String d() {
        return "binary";
    }

    public String c() {
        return this.c;
    }

    public long e() {
        return this.a.length();
    }

    public String b() {
        return this.b;
    }
}